Hard Disks with rotating magnetic platters are being replaced with more reliable Solid-State Drive (SSD) using semiconductor flash memory. NAND flash memory, invented by Dr. Fujio Masuoka of Toshiba in 1987, uses electrically-erasable programmable read-only memory (EEPROM) cells that store charge on a floating gate. Cells are typically programmed by an avalanche current, and then erased using quantum-mechanical tunneling through a thin oxide. Unfortunately, some electrons may be trapped in the thin oxide during program or erase. These trapped electrons reduce the charge stored in the cell on subsequent program cycles, assuming a constant programming voltage. Often the programming voltage is raised to compensate for trapped electrons.
As the density and size of flash memory has increased, the cell size and its reliability and lifetime have all been reduced. The number of program-erase cycles that a flash memory is guaranteed to be able to withstand was around 100,000 cycles, which allowed for a lengthy lifetime under normal read-write conditions. However, the smaller flash cells have experienced a disturbingly higher wear. Newer flash memories may be spec'ed at less than 10,000 program-erase cycles for two-level cells and about 600 for Triple-Level Cells (TLC). If current trends continue, future flash memories may only allow for 300 program-erase cycles. Such a low endurance could severely limit the applications that flash memory could be used for, and have severe impacts for Solid-State-Disk (SSD) applications.
It is likely that the underlying flash technology will have lower endurance in the future. Flash drives may compensate for the lower wear tolerance of the underlying flash memories by a variety of techniques. For example, a DRAM buffer on the flash drive may act as a write back cache, reducing the number of writes to the underlying flash memories when the host performs writes to the same data location.
Since DRAM is volatile, data is lost when power is removed. Various battery, super-capacitor, and Uninterruptible-Power-Supply (UPS) systems may be used to keep the DRAM powered up and provide the power to store the contents to a non-volatile memory. Software drivers that can make use of the various backup systems that may be present on any given system are desired.
A Green NAND Device (GND) application and driver for a host connected to a standard Solid-State Drive (SSD) or a Super-Endurance flash drive is desired that uses advanced management techniques to reduce the number of writes to flash, hence reducing program-erase cycles on the underlying flash memory. A GND application and driver on the host that operates a super-endurance flash drive with one or more of several possible power backup systems is desired. Furthermore, it is desired to preserve the processor states and DRAM contents in non-volatile memory and then use them at boot up time even in case the AC power line goes down unintentionally.